package com.isoft.farm.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface SysRoleMenuDao {
    int deleteObjectsByMenuId(Integer menuId);

    /**
     * 插入菜单角色中间表
     * @param roleId
     * @param menuIds
     * @return
     */
    int insertObjects(
            @Param("roleId") Integer roleId,
            @Param("menuIds") Integer[] menuIds);

    /**
     * 根据角色Id删除菜单角色
     * @param roleId
     * @return  更新行
     */
    int deleteObjectsByRoleId(
            Integer roleId
    );

    /**
     * 通过角色Id 查询菜单id 集合
     * @param id
     * @return
     */
    @Select("select menu_id from sys_role_menus where role_id=#{id}")
    int findMenuIdsByRoleId(Integer id);


    /**
     *通过角色数组id查询菜单id
     */
    List<Integer> findMenuIdsByRoleIds(@Param("roleIds") Integer [] roleIds);
}
